home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / bbs / ny_011.zip / 3RDPARTY.DOC next >
Text File  |  1996-08-28  |  14KB  |  300 lines

  1. ==============================================================================
  2. NY2008 Third Party Development Manual (update 11)
  3. ==============================================================================
  4.  
  5. > NEW STUFF THAT WAS ADDED IN UPDATE 6!
  6. | NEW STUFF THAT WAS ADDED IN UPDATE 7!
  7. * NEW STUFF THAT WAS ADDED IN UPDATE 8!
  8. @ NEW STUFF THAT WAS ADDED IN UPDATE 9!
  9. } NEW STUFF THAT WAS ADDED IN UPDATE 10!
  10. + NEW STUFF THAT WAS ADDED IN UPDATE 11!
  11.  
  12. } I found a misspelling, CRAPS is supposed to be CRABS ... oh well ... not to
  13. } make any incompatibilities, all the data files still use CRAPS ... but
  14. } please make your igm display CRABS ... sorry bout this:)
  15.  
  16. > From wide beta 7 up the .inf drop file has changed format a bit, READ ON
  17. > if you made any IGM's for wide beta 6 or lower!
  18.  
  19. @ You can now add IGMs to be fight events. You just create a file called
  20. @ 3rdevent.dat with same format as 3rdparty.dat. If this file exists NY2008
  21. @ will sometimes ask the player instead of a fight event if he wants to enter 
  22. @ a randomly chozen IGM for the 3rdevent.dat file.
  23.  
  24. * There is a new type of character information file, the .stt file. The
  25. * name and location of this file is the same as for the n00?????.sts
  26. * file. The only difference is that it is written as a text file so it is
  27. * easier to read for you non-C programmers ... Read on
  28.  
  29. * If ya are too lazy to write a good installation program for your IGM then I 
  30. * included mine, it's easy to setup and use for almost any igm you make. Look
  31. * at it in the NY_IGMIN.ZIP file, which is included in the ny2008 main archive
  32. @ It now asks if the IGM should be added to 3rdparty.dat, 3rdevent.dat or both.
  33.  
  34.   Well ... so ya want to create something i haven't done already for NY2008
  35.   ...
  36.  
  37.   First a few tips on how i do stuff ... i LOVE binary files, whatever can be
  38.   IS in binary format ...
  39.  
  40.   And read the struct.doc for the structures of those files and a few extra
  41.   tips ...
  42.  
  43.   User number is the number in the user file...
  44.  
  45.   DO NOT CHANGE how many points the user has in the user file... you can do it
  46.   as an IGM and pass the new point value back to NY2008, but do not do it to 
  47.   users anytime otherwise. It will messup the score file for the day ...
  48.   (Actually in an IGM you can change almost all the user data, xpt the level,
  49.   and the rank variable, those will change when ny2008 reads in the .sts file)
  50.  
  51.   To get info on the user that's online read in his .sts file, changing this
  52.   will not effect anything unless you are returning from an igm so don't 
  53.   change it otherwise.
  54.  
  55.   DO NOT REARANGE USERS!!!!! (WILL MESS UP VERY VERY BAD!)
  56.   (or if ya have to read the struct.doc file VERY carefully, but i would not
  57.   recomend it ... and this is absolutely not to be done in IGM's anywayz)
  58.  
  59.   Flags for users (flag files I mean) are named 
  60.  
  61.   U00<0 padded user number>.<flag name>
  62.  
  63.   And they are store in the FlagDirectory if it is specified in the .cfg file
  64.  
  65.   For example online flag for user 36 would look like "U0000036.ON"
  66.  
  67.  
  68.   The temporary character dropfile is named (it is stored in the game
  69.   directory not in the flag didrectory!)
  70.  
  71.   N<0 padded node number>.STS
  72.  
  73.   For example .STS file for node 6 would look like "N0000006.STS"
  74.  
  75.   NOTE: There is also a flagfile called U00?????.STS ... this is used for
  76.   data recovery and if you dump any data in here it will not be read unless
  77.   the crash recovery is run ...
  78.  
  79. ==============================================================================
  80. How to create In Game Modules for NY2008!
  81. ==============================================================================
  82.  
  83. | If You'd like to see how an IGM looks inside look at NY_JPSRC.ZIP which  
  84. | is the source code for the Jackpot IGM. It's in Turbo C++ and OpenDoors 5.00
  85.  
  86.   To create NY2008 IGM's you actually create something like a door, only
  87.   easier, because you anly have to deal with one type of dropfile and one
  88.   character information file. These will be created in the game directory, so
  89.   you will have to get that information from the user. (I'd recomend having
  90.   it passed on the command line rather than having it read from a cfg file.)
  91. * There are two character dropfiles you can choose from now on ... so it's
  92. * easier for non-C programmers.
  93.  
  94.   NY2008 will pass the node number, the user number and if the game is local
  95.   or not, through the command line, by adding '-N<node number> -U<user number>'
  96.   and optionally '-L' if the game is in local mode, to the command line when
  97.   calling the IGM. '-L' is passed every local game no matter if it was started
  98.   from command line or from a dropfile.
  99.  
  100. @ You have to create or edit '3rdparty.dat' and/or '3rdevent.dat' and put in
  101. > appearance to user first and the command line on the second line. Comments
  102. * are OK! (comment lines start with ';'!) -  there can be any number of IGM's!
  103. * As i said above i'd recommend passing the path to the dropfiles on the
  104.   command line!
  105.  
  106. @ '3rdparty.dat' file will add your IGM to the other stuff menu!
  107. @ '3rdevent.dat' file will add your IGM as a random fight event! 
  108.  
  109.   Example:
  110.     `@B`4ar
  111.     C:\NY2008\BAR.BAT C:\BBS\NY2008\
  112.  
  113.   And the BAR.BAT would look like:
  114.  
  115.     cd\bar
  116.     bar.exe %1 %2 %3 %4
  117.     cd\ny2008
  118.  
  119.   Don't worry about changing dirs back ... ny2008 will do that by itself.
  120. } But the IGM will be run with the game dir of ny2008 as the current dir!!!!
  121. } so in the batch file make sure you change to the igm's dir, or o that in
  122. } the IGM itself. Or use the '*' described next
  123.  
  124. > There is also a new feature if you want NY2008 to change to the IGM's dir
  125. > before it is run, you add '*' as the VERY FIRST character in the command
  126. > line!
  127.  
  128. > Example:
  129. >   `@B`4ar
  130. >   *C:\NY2008\BAR\BAR.EXE C:\BBS\NY2008\
  131.  
  132. > This will run BAR.EXE in it's own dir (c:\ny2008\bar) so you don't need to
  133. > write a bat file as in the example above!
  134.  
  135.  
  136.   THE FILES: 
  137. @ You have to read both, and they are in the game directory, not the flag 
  138. @ directory! You can choose the character info file, but you have to read the 
  139. @ text version and delete the binary version, so that ny2008 knows you read 
  140. @ the text version, or just read the binary version, you don't have to delete 
  141. @ the text version, ny2008 will read the binary version as default, only if it 
  142. @ doesn't find it will it read the text version!
  143.  
  144.   The character information file (N<node number>.STS) is a binary file with
  145.   the user structure dumped into it. (read struct.doc) (this is the one you
  146.   can change!) (e.g. N0000003.STS for node 3)
  147.  
  148. * User rank and days user has been inactive will not be read in after an IGM
  149. * so it wouldn't kill the user or destroy others if they get changed in
  150. * the IGM.
  151.  
  152. * There is also a text character information file available too. if you want to
  153. * use that you have to delete the N<node number>.STS so that ny2008 will read
  154. * this file instead. The name for this file is N<node number>.STT!
  155. * It has the same data order as the character info structure, here it is:
  156. *
  157. } Line 1:  The BBS name of the user !!!Will not be read in!!!
  158. * Line 2:  The name of the character
  159. * Line 3:  What the user says when he wins
  160. * Line 4:  What the user says when he looses
  161. * Line 5:  User rank !!! Will not be read in !!!
  162. * Line 6:  Days the user has been inactive !!! Will not be read in !!!
  163. * Line 7:  Attacking strenght of the user !!these will have a change only for!!
  164. * Line 8:  Defensive strenght             !!this level I recomend no change  !!
  165. * Line 9:  Condoms user has
  166. * Line 10: Days since the user last got laid
  167. * Line 11: The hits of drug that the user has
  168. * Line 12: If addicted how long the user has not used the drug
  169. * Line 13: User's hitpoints
  170. * Line 14: Maximum of the user's hitpoints
  171. * Line 15: User's points
  172. * Line 16: Money in hand
  173. * Line 17: Money in bank
  174. * Line 18: User level
  175. * Line 19: Fights the user has left today
  176. * Line 20: % of hunger
  177. * Line 21: Sex turns left today
  178. * Line 22: % of current std infection
  179. * Line 23: % of drug addiction
  180. * Line 24: % of how "high" the player is
  181. * Line 25: For how many more days the hotel is paid for
  182. * Line 26: How many days has the user has been in hospital
  183. * Line 27: If alive this is set to "ALIVE" if not consious "UNCONSIOUS"
  184. *          set this to "DEAD" if user died in the IGM (user has to start over!)
  185. * Line 28: "M" if male "F" if female
  186. * Line 29: what the user is:
  187. *          "PUNK", "HEADBANGER", "BIG FAT DUDE","CRACK ADDICT" or "HIPPIE"
  188. + Line 30: number of the user's weapon .... 0=hands, 1 pepper spray,... more
  189. +          weapons in v0.11 look it all up in STRUCTS.DOC
  190. * Line 31: user'ss STD:
  191. *          "CRAPS", "HERPES", "SYPHILIS", "AIDS" or "NONE"
  192. }          Sorry about the "CRAPS" misspelling, but it's still here not to
  193. }          make trouble, but in the game make sure it displays "crabs":)
  194. * Line 32: user's drug:
  195. *          "POT", "HASH", "LSD", "COKE", "PCP" or "HEROIN"
  196. * Line 33: Where the user is staying:
  197. *          "NOWHERE", "MOTEL", "REGULAR HOTEL", "EXPENSIVE HOTEL"
  198. * Line 34: World trade center bombings left for today
  199. * Line 35: Water poisonings left for today
  200. } Line 36: Rocks, The number of rocks the player has
  201. } Line 37: Throwing ability 0-100
  202. } Line 38: Punching ability 0-100
  203. } Line 39: Kicking ability 0-100
  204. } Line 40: InterBBS Moves Left Today
  205.  
  206.  
  207.   The dropfile is a textfile with the communication parameters written in it:
  208.   (e.g. U0000034.INF for user 34) (this is also the ... in IGM flag, so do not
  209.   modify it cuz it might change names if the maintanance runs on another node!)
  210.  
  211.   Line1: The path to the bbs dropfiles...(if you want to read those)
  212.      (they will not be available if game was run with the '-L' command
  213.      line option.
  214.   Line2: Callers time left
  215.   Line3: Com Port (0 based - COM1=0, COM2=1 ...)
  216.   Line4: Baud Rate
  217. > Line5: Either "ANSI","AVATAR" or "ASCII" depending on players terminal!
  218. }        Will be ANSI If the user has RIP, If your door has a RIP interface
  219. }        Then make it autodetect RIP (simple).
  220. > Line6: User's location
  221. > Line7: This is either "FOSSIL" if fossil driver is used or "NOFOSSIL" if not
  222.  
  223.   The rest of these settings is written to the dropfile only if FOSSIL is
  224.   disabled!
  225.  
  226. > Line8: Com port address
  227. > Line9: Com port IRQ
  228. > Line10: Either "FIFO" or "NOFIFO" depending if the 16550A FIFO buffer is used
  229. > Line11: The number of bytes that is placed in the FIFO buffer before trigger
  230. > Line12: Receive Buffer
  231. > Line13: Send Buffer
  232.  
  233.   That's it .... all the caller info you need is in the character file, but 
  234.   if you need something that's not here, read the first line of this dropfile 
  235.   which has the path to the bbs dropfiles. (also i do not recomend that .... 
  236.   it makes life of the sysop who installs the software not very easy to do 
  237.   job, since all you need is passed through this dropfile and the .sts file 
  238.   then there's no need to do anything else, and it will make the IGM's 
  239.   portable to any system.)
  240.  
  241.   Only the things that you change in the character file will be read in by 
  242.   NY2008. (Do not change the bbsname field in the character file as this could
  243. } have unpredictable results). It will no longer be read in!
  244.  
  245.   Also do not change the level of the user, the user will have his level 
  246.   raised when he returns back to the game (if he deserves it).
  247.  
  248. ==============================================================================
  249. How amounts work... for any add-on ...
  250. ==============================================================================
  251.  
  252.   The usuall points raise for a single fight is 10*(level+1) for better things 
  253.   make it a bit more.
  254.  
  255.   The money the user gets is calculated from the hitpoints of his enemy (plus 
  256.   some randomness):
  257.   (level+1)*(enemy_hitpoints*0.5 + randomf(enemy_hitpoints*.7))+(20*(level+1))
  258.  
  259.   This is to give you an idea how the money is calculated, take in account 
  260.   that the player will spend some money on healing.
  261.  
  262.   Generally try not to give out too much money or points for free .... 
  263.   gambling is good cuz that makles people loose money also.
  264.  
  265. ==============================================================================
  266. How to change users offline ...
  267. ==============================================================================
  268.  
  269.   if you want to write to the user file, do it when the user is offline ...
  270.   if the user is online there's no way you can edit him (unless if you edit
  271.   the .sts file from an IGM). (U00?????.ON will be present if user is online).
  272.  
  273. ==============================================================================
  274. Running stuff in maintanance
  275. ==============================================================================
  276.  
  277. * NY2008 has the option to run an external program after it's nightly
  278. * maintanance, just create 3rdmnt.bat and put whatever you want in there and
  279. * it will run it after every maintanance. Do not make your maintanance
  280. * too long since on most systems maintanance takes place when the first
  281. * user gets online. if you have something that takes long (maybe NPC's), just
  282. * ask the sysop installing your software to put it in his nightly maintanance
  283. * batch file.
  284.  
  285. * If you want to send remote output, there is a "3rdmnt.inf" file created,
  286. * it has the same format as the IGM dropfile, so look at that.
  287.  
  288. * You could also use the old style, and use the option in the .cfg file, but
  289. * no "3rdmnt.inf" is created for that one and I recomend strongly agains it
  290. * since the above way is just a better way to do it, and more flexible.
  291.  
  292. ==============================================================================
  293.  
  294.   Anywayz ... have fun ....
  295.  
  296.   Franz
  297.  
  298.   PS: I know i can be very cryptic and incomplete in instructions .... contact
  299.   me with any problems you might have.
  300.